home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tm.d64 / game of life.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  8KB  |  172 lines

  1. 10 POKE 53280,1:POKE 53281,1:PRINT"":  REM SET SCREEN & PRINT COLOR
  2. 20 POKE 788,52: REM DISABLE STOP KEY
  3. 30 POKE 2,87: REM 87 = "[215]" FIGURE. THIS MEMORY LOCATION READ BY MACH LANG PGM
  4. 40 M3=49826:M4=49866:M5=49846:M6=49873: REM MACHINE LANGUAGE LOCATIONS
  5. 50 P2=56320:NT=127:REM CONTROL PORT 2
  6. 100 PRINT"[147]","    THE GAME OF"
  7. 110 PRINT," [217][165]   [217][180] [217][207][183][183] [217][207][183][183]
  8. 120 [153]," (null)FN   (null)SGN (null)FN   (null)FN
  9. 130 PRINT," [217][165]   [217][180] [217][207]   [217][207]
  10. 140 [153]," (null)(null)ANDAND (null)SGN (null)SGN   (null)(null)ANDAND
  11. 150 PRINT:PRINT
  12. 160 PRINT" A SELF REPLICATING SYSTEM OF CELLULAR"SPC(17)"AUTOMATA
  13. 170 [153]
  14. 180 [153],"CMDBY FRANK VAN DEVENTER
  15. 190 PRINT:PRINT
  16. 200 PRINT"   THE PROGRAM WILL PROGRESSIVELY
  17. 210 [153]" ALTER ANY PATTERN THAT YOU ESTABLISH
  18. 220 PRINT" FOR IT, BY FOLLOWING ITS OWN SPECIAL
  19. 230 [153]" EVOLUTIONARY RULES. THE EXAMPLE WHICH
  20. 240 PRINT" FOLLOWS WILL CONTINUE UNTIL YOU PRESS
  21. 250 [153]" THE F7 KEY (LOWER RIGHT CORNER).
  22. 260 PRINT:PRINT:PRINT"       [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]
  23. 270 [153]"       PRESS F7 KEY TO CONTINUE
  24. 280 GOSUB4000
  25. 290 GETA$:IFA$<>"[136]"THEN290
  26. 300 PRINT"[147]
  27. 301 [153],"        (null)
  28. 302 PRINT,"        [215]
  29. 303 [153],"        (null)
  30. 304 PRINT,"       [215][215][215]
  31. 305 [153]:[153]
  32. 306 [153],,,"        (null)
  33. 307 PRINT,,,"       [215]
  34. 308 [153],,,"       (null)(null)(null)
  35. 309 GETA$:IFA$<>""THEN309
  36. 310 SYSM5
  37. 330 PRINT"[147]  EVOLUTIONARY RULES ARE AS FOLLOWS:
  38. 340 [153]:[153]
  39. 350 [153]"        (null)(null)(null)   EACH CELL HAS THE
  40. 360 PRINT"        [215] [146][215]   POSSIBILITY OF
  41. 370 [153]"        (null)(null)(null)   8 NEIGHBORS
  42. 380 PRINT:PRINT
  43. 390 PRINT"  BEGINNING WITH ANY CONFIGURATION, A
  44. 400 [153]"CELL WILL CONTINUE LIVING IN THE NEXT
  45. 410 PRINT"GENERATION IF IT HAS 2 OR 3 NEIGHBORS.
  46. 420 [153]"WITH FEWER IT DIES OF LONLINESS. WITH
  47. 430 PRINT"MORE IT DIES OF OVERCROWDING.
  48. 440 [153]
  49. 450 [153]"  THOUGH ALL CELLS ARE IDENTICAL, THREE
  50. 460 PRINT"ARE REQUIRED FOR REPRODUCTION. WHEN
  51. 470 [153]"EXACTLY THREE CELLS ARE ADJACENT TO AN
  52. 480 PRINT"EMPTY SPACE, NEOGENESIS OF A NEW CELL
  53. 490 [153]"OCCURS IN THAT SPACE DURING THE NEXT
  54. 500 PRINT"GENERATION. THEY LIKE IT. THEY LIKE IT.
  55. 510 [153]:[153]"       TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO
  56. 520 PRINT"       PRESS F7 KEY TO CONTINUE
  57. 525 [161]A$:[139]A$[179][177]""[167]525
  58. 530 [161]A$:[139]A$[179][177]"LET"[167]530
  59. 550 [153]"LOAD   THE PROGRAM NORMALLY USES A CIRCLE
  60. 560 PRINT" FIGURE [[215]] BUT CAN BE CHANGED TO ANY
  61. 570 [153]" CHARACTER YOU WISH. ENTER ANY OTHER
  62. 580 PRINT" CHARACTER OR REVERSE CHARACTER BEFORE
  63. 590 [153]" YOU PRESS THE F7 KEY
  64. 600 PRINT:PRINT:PRINT:PRINT
  65. 610 PRINT,"        [207][183][208]
  66. 620 [153],"        SGN(null)+
  67. 630 PRINT,"        [204][175][186]
  68. 640 [153]:[153]:[153]:[153]:[153]:[153]:[153]:[153]:[153]
  69. 645 [153]"       TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO
  70. 650 PRINT"       PRESS F7 KEY TO CONTINUE
  71. 660 [153]"",,"CMD";
  72. 680 Q$[178]"(null)"
  73. 690 [161]A$:[139]A$[179][177]""[167]690
  74. 700 [161]A$:[139]A$[178]""[167]700
  75. 710 [139]A$[178]"LET"[167]760
  76. 720 [139]A$[178]"LOAD"[176]A$[178]"SAVE"[176]A$[178]""[176][198](A$)[178]34 [167]700
  77. 730 [153]A$;:Q$[178]A$
  78. 740 [153]"",,"CMD";
  79. 750 [137]700
  80. 760 Q[178][194](1483):[143] SCREEN LOCATION OF CHARACTER
  81. 770 [151]2,Q:[153]
  82. 800 [153]"LOAD  ENTER ANY PATTERN YOU WISH USING ANY
  83. 810 PRINT"   CHARACTER OR A JOYSTICK IN PORT 2":PRINT
  84. 830 PRINT"^[146] KEY MOVES CURSOR UP ^
  85. 840 [153]"TAB(
  86. 850 PRINT"=[146] KEY MOVES CURSOR LEFT _
  87. 860 [153]"TOTO
  88. 870 PRINT"F1[146] READ RULES
  89. 880 [153]"TOTO
  90. 890 PRINT"F2[146] STOP PROGRAM
  91. 900 [153]"TOTO
  92. 910 PRINT"F3[146] BEGIN EVOLUTION WITH EDGE DROPOFF
  93. 915 [153]"TOTO
  94. 920 PRINT"F4[146] SAME AS F3 - SINGLE STEP"
  95. 930 PRINT"[164][164]
  96. 940 [153]"F5WAIT BEGIN EVOLUTION WITH EDGE WRAPAROUND
  97. 945 PRINT"[164][164]  - (TOPOLOGICALLY A TORUS)
  98. 950 [153]"F6WAIT SAME AS F5 - SINGLE STEP"
  99. 960 [153]"TOTO
  100. 970 PRINT"F7[146] END EVOLUTION OR CLEAR SCREEN
  101. 980 [153]:[153]"     TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO
  102. 990 PRINT"     PRESS F7 KEY TO CLEAR SCREEN
  103. 1000 [151]650,128:[161]A$:[139]A$[178]""[175][194](P2)[178]NT[167]1000:[143] ALL KEYS REPEAT
  104. 1005 [129]K[178]0[164]1[169]0:T[178][194](209)[170]256[172][194](210)[170][194](211):S[178][194](T):[139]S[179][177]32[167][151]T,Q
  105. 1010 [139]S[178]32[167][153]" WAITCMD";:S[178]160
  106. 1015 [161]A$:[139]NT[177][194](P2)[167]JS[178][194](P2)[175]31:[141]2000
  107. 1020 [139]A$[178]""[167]S[178](S[170]128)[175]255:[151]T,S:[137]1015
  108. 1025 S[178]S[175]127:[151]T,S
  109. 1030 [139]A$[178]"="[167]A$[178]"CMD":[153]A$;:[130]
  110. 1035 [139]A$[178]"^"[167]A$[178]"ON":[153]A$;:[130]
  111. 1040 [139]A$[178]""[167][139][194](214)[178]24[167][130]
  112. 1045 [139]A$[178]"ON"[176]A$[178]""[176]A$[178]""[176]A$[178]"CMD"[167][153]A$;:[130]
  113. 1050 [139]A$[178]" "[167][153]A$"CMD";:[130]
  114. 1055 [139]A$[178]"LET"[167][153]"LOAD",,"";:[130]
  115. 1060 [139]A$[178]"INPUT"[167]330
  116. 1065 [139]A$[178]"DIM"[167][158]M3:[130]
  117. 1070 [139]A$[178]"RUN"[167][158]M4:[130]
  118. 1075 [139]A$[178]"READ"[167][158]M5:[130]
  119. 1080 [139]A$[178]"IF"[167][158]M6:[130]
  120. 1085 [139]A$[178]"GOTO"[167][153]"LOAD":[151]650,0:[151]788,49:[128]:[143] KILL REPEAT/RESTORE STOP KEY
  121. 1090 [139]A$[178]"SAVE"[176]A$[178]""[176][198](A$)[178]34[167][130]
  122. 1095 [153]Q$"CMD";
  123. 1100 [130]
  124. 2000 [139]JS[178]30[167]A$[178]"ON":[142]
  125. 2010 [139]JS[178]23[167]A$[178]"":[142]
  126. 2020 [139]JS[178]29[167]A$[178]"":[142]
  127. 2030 [139]JS[178]27[167]A$[178]"CMD":[142]
  128. 2040 [139]JS[178]15[167]A$[178]Q$:[139]S[179][177]32[175]S[179][177]160[167]A$[178]" "
  129. 2050 [142]
  130. 4000 [139][194](49153)[179][177]7[176][194](49879)[179][177]96[167][129]Q[178]49152[164]49879:[135]A:[151]Q,A:[130]
  131. 4010 [142]
  132. 5000 [131]169,7,133,254,169,0,133,253,160,231,162,4,177,253,201,32,240,4,165,2
  133. 5010 [131]145,253,136,208,243,177,253,201,32,240,4,165,2,145,253,198,254,202,208
  134. 5020 [131]228,162,0,173,134,2,157,0,216,157,0,217,157,0,218,157,0,219,232,208
  135. 5030 [131]241,32,142,194,96,169,0,141,60,3,133,251,133,253,169,4,133,252,169,7
  136. 5040 [131]133,254,160,192,32,197,193,169,4,133,254,160,0,32,197,193,162,24,208
  137. 5050 [131]31,165,252,133,254,165,251,168,16,8,105,40,48,6,230,252,208,2,105,40
  138. 5060 [131]133,251,32,197,193,200,32,197,193,202,240,10,200,32,197,193,32,67,194
  139. 5070 [131]24,144,215,160,0,169,4,133,254,32,197,193,32,67,194,169,7,133,252,169
  140. 5090 [131]231,133,251,169,4,133,254,160,39,32,241,193,165,252,133,254,164,251
  141. 5100 [131]32,241,193,162,24,208,31,165,252,133,254,165,251,168,48,8,233,40,16
  142. 5110 [131]6,198,252,208,2,233,40,133,251,32,241,193,136,32,241,193,202,240,10
  143. 5120 [131]136,32,241,193,32,67,194,56,176,215,160,231,169,7,133,254,32,241,193
  144. 5130 [131]32,67,194,169,0,141,61,3,169,193,133,251,169,7,133,252,169,7,133,254
  145. 5140 [131]165,251,201,231,240,33,56,233,41,168,32,29,194,164,251,136,32,29,194
  146. 5150 [131]169,4,133,254,172,61,3,32,29,194,238,61,3,32,67,194,230,251,208,213
  147. 5160 [131]169,192,141,61,3,169,1,133,251,169,4,133,252,169,4,133,254,165,251,201
  148. 5170 [131]39,240,33,24,105,39,168,32,29,194,164,251,136,32,29,194,169,7,133,254
  149. 5190 [131]172,61,3,32,29,194,32,67,194,238,61,3,230,251,208,213,169,23,141,61
  150. 5200 [131]3,162,38,169,41,133,251,169,4,133,252,165,252,133,254,56,165,251,48
  151. 5210 [131]9,233,41,16,7,198,254,24,144,2,233,41,168,32,29,194,24,152,16,9,105
  152. 5220 [131]38,48,7,230,254,24,144,2,105,38,168,32,29,194,24,152,16,9,105,38,48
  153. 5230 [131]7,230,254,24,144,2,105,38,168,32,29,194,32,67,194,230,251,208,2,230
  154. 5240 [131]252,202,208,182,206,61,3,240,8,230,251,230,251,162,38,208,169,32,113
  155. 5250 [131]194,96,177,253,201,32,240,3,238,60,3,200,177,253,201,32,240,3,238,60
  156. 5260 [131]3,24,152,16,8,105,38,48,6,230,254,16,2,105,38,168,177,253,201,32,240
  157. 5270 [131]3,238,60,3,96,177,253,201,32,240,3,238,60,3,136,177,253,201,32,240,3
  158. 5290 [131]238,60,3,56,152,48,8,233,38,16,6,198,254,16,2,233,38,168,177,253,201
  159. 5300 [131]32,240,3,238,60,3,96,177,253,201,32,240,3,238,60,3,200,208,2,230,254
  160. 5310 [131]177,253,201,32,240,3,238,60,3,200,208,2,230,254,177,253,201,32,240,3
  161. 5320 [131]238,60,3,96,165,252,24,105,64,133,254,160,0,177,251,201,32,240,21,173
  162. 5330 [131]60,3,201,4,240,19,201,3,240,15,169,32,140,60,3,164,251,145,253,96,173
  163. 5340 [131]60,3,16,237,165,2,208,239,0,160,0,185,0,68,153,0,4,185,0,69,153,0,5
  164. 5350 [131]185,0,70,153,0,6,185,0,71,153,0,7,200,208,229,160,0,169,32,153,0,68
  165. 5360 [131]153,0,69,153,0,70,153,0,71,200,208,241,96,32,0,192,32,91,193,164,198
  166. 5370 [131]173,119,2,160,0,132,198,201,136,208,240,96,32,0,192,32,64,192,164,198
  167. 5390 [131]173,119,2,160,0,132,198,201,136,208,240,96,32,0,192,32,91,193,96,32
  168. 5400 [131]0,192,32,64,192,96
  169. 5500 GAME C[145]CEPT BY JOHN H[176][164]N C[145]WAY       UNIVERSITY OF CAMBRIDGE
  170. 5510 DESCRIBED BY MARTIN GARDNER IN           SCIENT[139]IC AMERICAN 1970
  171. 5520 DESIGNED BY FRANK VAN DEVENTER     VERSIOM: 9[173]6[173]85
  172.